функция python, объект float как параметр [duplicate]

Почти все предоставленные ответы требуют полной десериализации JSON в объект Java перед тем, как получить доступ к значению интересующего свойства. Другой альтернативой, которая не идет по этому пути, является использование JsonPATH , который похож на XPath для JSON и позволяет перемещаться по объектам JSON.

Это спецификация и хорошие люди в JayWay создали Java-реализацию для спецификации, которую вы можете найти здесь: https://github.com/jayway/JsonPath

Поэтому, чтобы использовать его, добавьте его в свой проект , например:


    com.jayway.jsonpath
    json-path
    ${version}

и использовать:

String pageName = JsonPath.read(yourJsonString, "$.pageInfo.pageName");
String pagePic = JsonPath.read(yourJsonString, "$.pageInfo.pagePic");
String post_id = JsonPath.read(yourJsonString, "$.pagePosts[0].post_id");

и т. д. ...

Проверьте дополнительную страницу спецификации JsonPath для получения дополнительной информации о других способах к поперечному JSON.

2
задан Taryn 10 March 2014 в 18:54
поделиться

2 ответа

Используйте numpy.sqrt , а не math.sqrt. numpy.sqrt ожидает, что скаляр или массив в качестве входных данных, с другой стороны math.sqrt могут обрабатывать только скаляры.

>>> import numpy as np
>>> import math
>>> a = np.arange(5)
>>> np.sqrt(a)
array([ 0.        ,  1.        ,  1.41421356,  1.73205081,  2.        ])
#error
>>> math.sqrt(a)
Traceback (most recent call last):
  File "<ipython-input-78-c7d50051514f>", line 1, in <module>
    math.sqrt(a)
TypeError: only length-1 arrays can be converted to Python scalars

>>> 
4
ответ дан ImportanceOfBeingErnest 27 August 2018 в 02:20
поделиться

использовать np вместо math.sqrt

v=(Q/((4*math.pi*e0)*(np.sqrt((x**2+r0**2)))))


v2=v+(Q2/((4*math.pi*e0)*(np.sqrt(((x-2)**2+r2**2)))))
2
ответ дан ThePredator 27 August 2018 в 02:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: