Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Не могу обратиться к элементам json пакета

Здравствуйте! Нужно получить элементы json пакета, а именно Date, Open, High, Low, Close, Volume, Adj_Close.
var proxy = WebRequest.Create("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20=%20%22TIBX%22%20and%20startDate%20=%20%222013-01-01%22%20and%20endDate%20=%20%222014-01-01%22&format=json&diagnostics=true&env=store://datatables.org/alltableswithkeys");
            var response = proxy.GetResponse();
            var stream = response.GetResponseStream();
            StreamReader sr = new StreamReader(stream);
            string json = sr.ReadToEnd();
Ответ: У меня по кнопке срабатывает код.
Вопрос: Не могу обратиться к [i] элементу

Не могу обратиться к элементу.
Вот кусок моего кода:
PHP:

  1. $term = taxonomy_term_load(arg(2));
  2. $tid = $term->tid;
  3. ($tid, integer);
  4. $parent = taxonomy_get_parents($tid);
  5.  
  6. ($parent);



Выдается следующее:
CODE (html):

  1. integerArray
  2. (
  3.     [85] => stdClass Object
  4.         (
  5.             [tid] => 85
  6.             [vid] => 2
  7.             [name] => Лампы, источники света
  8.             [description] =>
  9.             [format] => full_html
  10.             [weight] => 0
  11.             [vocabulary_machine_name] => catalog
  12.             [field_pic] => Array
  13.                 (
  14.                 )


Получается чтобы добраться до [i]name, мне надо обратиться так:
PHP:

  1. ($parent[85]->name);

но [85] меняется и равняется $tid. И если я пишу так:
PHP:

  1. ($parent[$tid]->name);

то ничего не выводится.
Как правильно вписать туда $tid?
(Добавление)
Я ошибся немного. $tid в данном случае не равно 85. Значит надо другой функцией воспользоваться.
Я ведь не могу обратиться к $parent[85], не зная что бкдет стоять вместо 85?
Ответ:
Спасибо. Сделал в цикле for.
Вопрос: Не могу обратиться к TreeMap в классе без метода main

Здравствуйте! Возник такой вопрос. Могу ли я работать с TreeMap не в главном классе? Почему я не могу обратиться к карте? (Ошибка в строке 21 <identifier> expected. Однако при обращении к карте в методах все работает). Типом элемента коллекции является пользовательский класс Contact. Заранее спасибо.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package telephonelist;
 
import java.util.*;
 
public class Brain {
Integer key;  
Map <Integer,Contact> tellist = new TreeMap<>();
 
public void Insert(Integer key)
{
tellist.put(key, new Contact());
};
 
 
 
public void delete(Integer key)
{
tellist.remove(key);
};
 
tellist.put(1,new Contact("Василий Петров","22-33-44","Москва"));
 
 
}
Ответ: iSmokeJC, да,спасибо,я уже исправил)
Вопрос: Не могу обратиться к файлу xml

Здравствуйте! Не могу обратиться к xml файлу. Пишет:Слишком длинный путь или имя файла. Полное имя файла должно содержать меньше 260 знаков, а имя каталога - меньше 248 знаков.
      XmlReaderSettings settings = new XmlReaderSettings();
                  settings.IgnoreWhitespace = true;
                  settings.IgnoreComments = true;
       
                  string productsFile = Path.Combine(Request.PhysicalApplicationPath, "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20=%20%22TIBX%22%20and%20startDate%20=%20%222013-01-01%22%20and%20endDate%20=%20%222014-01-01%22&format=xml&diagnostics=true&env=store://datatables.org/alltableswithkeys");
Ответ: Dmitriy1987,

Вот тут все написано.
Вопрос: Не могу обратиться к файлу xml.

Здравствуйте! Не могу обратиться к xml файлу. Пишет:Слишком длинный путь или имя файла. Полное имя файла должно содержать меньше 260 знаков, а имя каталога - меньше 248 знаков.
    XmlReaderSettings settings = new XmlReaderSettings();
                settings.IgnoreWhitespace = true;
                settings.IgnoreComments = true;
     
                string productsFile = Path.Combine(Request.PhysicalApplicationPath, "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20=%20%22TIBX%22%20and%20startDate%20=%20%222013-01-01%22%20and%20endDate%20=%20%222014-01-01%22&format=xml&diagnostics=true&env=store://datatables.org/alltableswithkeys");
Ответ:
попробуй так:

    var path = @"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20=%20%22TIBX%22%20and%20startDate%20=%20%222013-01-01%22%20and%20endDate%20=%20%222014-01-01%22&format=xml&diagnostics=true&env=store://datatables.org/alltableswithkeys"
    string productsFile = Path.Combine(Request.PhysicalApplicationPath, path);
Вопрос: Spring Boot exception handling (не могу обратиться к странице)

Spring Boot exception handling
Подскажите почему возникает эта ошибка? не могу обратиться к странице.

Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
@SpringBootApplication
public class PhoneBookApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(PhoneBookApplication.class, args);
    }
}
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RestController
public class IndexController implements ErrorController {
    private static final String PATH = "/error";
 
    @RequestMapping(value = PATH)
    public String error() {
        return "Error handling!";
    }
 
    @Override
    public String getErrorPath() {
        return PATH;
    }
}
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RestController
public class IndexController implements ErrorController {
    private static final String PATH = "/error";
 
    @RequestMapping(value = PATH)
    public String error() {
        return "Error handling!";
    }
 
    @Override
    public String getErrorPath() {
        return PATH;
    }
}
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RestController
public class IndexController implements ErrorController {
    private static final String PATH = "/error";
 
    @RequestMapping(value = PATH)
    public String error() {
        return "Error handling!";
    }
 
    @Override
    public String getErrorPath() {
        return PATH;
    }
}
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Controller
@RequestMapping("login.jsp")
public class LoginController {
 
    @RequestMapping(method = RequestMethod.GET)
    public String init(ModelMap modelMap) {
        modelMap.put("info", "Hello my dear friend");
        return "Login";
    }
 
    @RequestMapping(method = RequestMethod.POST)
    public String submit(ModelMap modelMap, @ModelAttribute("loginModel") @Valid LoginModel loginModel) {
        System.out.println("in submit" + loginModel);
        String password = loginModel.getPassword();
        if (password != null && password.equals("goodday")) {
            modelMap.put("userInfo", loginModel.getUserName());
            return "Home";
        } else {
            modelMap.put("error", "Invalid UserName / Password");
            return "Login";
        }
    }
}
Вот что пишет SPRING
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 :: Spring Boot ::        (v1.3.3.RELEASE)
 
2016-04-19 20:01:04.991  INFO 14485 --- [           main] com.ua.kiev.makson.PhoneBookApplication  : Starting PhoneBookApplication on Lenovo-Z50-75 with PID 14485 (/home/makson/IDEA/IdeaProjects/PhoneBook/target/classes started by makson in /home/makson/IDEA/IdeaProjects/PhoneBook)
2016-04-19 20:01:05.001  INFO 14485 --- [           main] com.ua.kiev.makson.PhoneBookApplication  : No active profile set, falling back to default profiles: default
2016-04-19 20:01:05.333  INFO 14485 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2d127a61: startup date [Tue Apr 19 20:01:05 EEST 2016]; root of context hierarchy
2016-04-19 20:01:08.671  INFO 14485 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2016-04-19 20:01:08.707  INFO 14485 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2016-04-19 20:01:08.709  INFO 14485 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.0.32
2016-04-19 20:01:08.964  INFO 14485 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2016-04-19 20:01:08.964  INFO 14485 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3648 ms
2016-04-19 20:01:09.204  INFO 14485 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean        : Mapping servlet: 'dispatcherServlet' to [/]
2016-04-19 20:01:09.213  INFO 14485 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'characterEncodingFilter' to: [/*]
2016-04-19 20:01:09.704  INFO 14485 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public java.lang.String com.ua.kiev.makson.controllers.IndexController.error()
2016-04-19 20:01:09.707  INFO 14485 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/login.jsp],methods=[POST]}" onto public java.lang.String com.ua.kiev.makson.controllers.LoginController.submit(org.springframework.ui.ModelMap,com.ua.kiev.makson.LoginModel)
2016-04-19 20:01:09.708  INFO 14485 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/login.jsp],methods=[GET]}" onto public java.lang.String com.ua.kiev.makson.controllers.LoginController.init(org.springframework.ui.ModelMap)
2016-04-19 20:01:09.783  INFO 14485 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/WEB-INF/pages/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-04-19 20:01:09.791  INFO 14485 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler]
2016-04-19 20:01:09.871  INFO 14485 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2d127a61: startup date [Tue Apr 19 20:01:05 EEST 2016]; root of context hierarchy
2016-04-19 20:01:10.545  INFO 14485 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2016-04-19 20:01:10.672  INFO 14485 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2016-04-19 20:01:10.683  INFO 14485 --- [           main] com.ua.kiev.makson.PhoneBookApplication  : Started PhoneBookApplication in 6.615 seconds (JVM running for 7.546)
2016-04-19 20:03:08.586  INFO 14485 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2016-04-19 20:03:08.587  INFO 14485 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2016-04-19 20:03:08.612  INFO 14485 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 25 ms
Добавлено через 34 минуты
страница на которую хочу попасть
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<%@page contentType="text/html" pageEncoding="UTF-8" %>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>User Login.</title>
</head>
<body>
<h4>User Login.</h4>
<form:form method="post" name="loginForm">
    <table>
        <tr>
            <td>User Name:</td>
            <td><input name="userName" type="textbox"></td>
        </tr>
        <tr>
            <td>Password:</td>
            <td><input name="password" type="password"></td>
        </tr>
        <tr>
            <td colspan="2" align="right"><input type="submit" value="Submit"></td>
        </tr>
    </table>
    <div style="color:red">${error}</div>
</form:form>
 
</body>
</html>
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@Configuration
@ComponentScan("com.ua.kiev.makson")
@EnableWebMvc
public class AppConfig extends WebMvcConfigurerAdapter {
 
    @Autowired
    LoginModel loginModel;
 
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/WEB-INF/pages/**").addResourceLocations("/pages/");
    }
 
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }
 
    @Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("WEB-INF/pages/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
 
}
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{AppConfig.class};
    }
 
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class<?>[]{
                AppConfig.class
        };
    }
 
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
}
Ответ: Так.
При маппинге запросов нужно писать адрес, на который идет маппинг
Сообщение от kamenb
@RequestMapping("login.jsp")
Сообщение от kamenb
@RequestMapping(method = RequestMethod.GET)
Java(TM) 2 Platform Standard Edition 5.0
1
2
@RequestMapping(value="login.jsp")
@RequestMapping(value={"","/"}, method = RequestMethod.GET)
Сообщение от kamenb
@Override
* * public void addResourceHandlers(ResourceHandlerRegistry registry) {
* * * * registry.addResourceHandler("/WEB-INF/pages/**").addResourceLocations("/pages/");
* * }
Таким образом маппятся статические ресурсы, уберите это.
Вопрос: Не могу накидать элементы на форму

Всем привет народ! Недавно начал изучать WPF, сразу же вот такой вот трабл: не могу накидать элементы управления на форму, перетянул с Toolbox'а какой-нибудь элемент, всё нормально, он на форме, как только накидываю ещё какой-нибудь - предыдущий тут же исчезает, т.е. больше одного контрола не получается добавить на форму, подробнее на скриншоте.
Помогите пожалуйста, в чём тут дело. Раньше с WinForms работал - вообще красота, контролы без проблем на форму добавлялись.
Ответ: Понял, буду привыкать ))))
Вопрос: newtonsoft.json.linq.jvalue парсинг JSON

Привет!
есть JSON примерно такой {"123": "ООО "ПАРУС""}
пытаюсь его прочитать с помощью
newtonsoft.json.linq.jvalue
JValue.Parse(JSON).Select(x => new KeyValuePair<string, string>(((JProperty)x).Name, ((JProperty)x).Value.ToString()));

но происходит запара на внутренних кавычках в JSON-значении, т.е. "ООО "ПАРУС""
есть какие-то автометоды в данной сборке, которые могут полечить входящий JSON?
или другая альтернатива?

пока думаю в сторону Regex, но комбинация внутренних кавычек не предсказуема,
да и могут быть другие подобные символы...

спасибо.
Ответ: Shocker.Pro,

в принципе, в этом и вопрос.
влиять на формирование, т.е. на источник, возможности нет, получаю "так как есть".
пока обнаружил "лишние" кавычки... в процессе может ещё что-то вылезет, а может и нет...
я так понял, что Regex/Replace мне в помощь?
Вопрос: Не могу получить от json.dumps() нужную структуру

Добрый день! Нужна помощь.

Пытаюсь из БД получить записи чтобы отдать в виде json js гриду.
(python, psycopg2, simplejson)

С обычным курсором json.dumps() выдает набор вида: [{"123","g"},...]

Нашел опцию чтобы получить именованный набор cursor_factory=NamedTupleCursor
Получаю: [{"id": "123", "nm":"g"},...]

Но грид ожидает набор с заголовком вида:
?({"records":"123","page":1,"total":277,"rows":[{"id": "123", "nm":"g"},...]})

Возможно ли заставить вставлять заголовок в ответ json.dumps или следует собирать обертку самому?
Ответ: Всем спасибо, можно закрывать, решил сборкой объекта.
Вопрос: Изменить элементы json сохранив их порядок в строке

Нужно считать файл, каждая строка которого содержит json, немного изменить и сохранить в другой файл.

Как мне десериализовать в объект, а затем сериализовать обратно, например, вот такую строку?
{"a" : {"_s" : "абв", "_d" : "123" } }
Ответ: del